package com.soso.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.soso.dao.ModulesDao;
import com.soso.dao.Modulesroles;
import com.soso.dao.RolesDao;
import com.soso.entity.Modules;

@Controller
public class QzglController {
	@Autowired
	private ModulesDao modulesdao;
	
	@Autowired
	private Modulesroles modulesroles;
	@Autowired
	private RolesDao rolesdao;
	
	  @RequestMapping("/qzglgetmoduroles")	  
	  @ResponseBody	  
	  @CrossOrigin(origins = "*") 
	  public List<Modules> qzglgetmoduroles(String RoleId){
	
System.out.println(RoleId);
	  List<Modules> mlist=modulesdao.findAll();
	
	  List<Modules> mmlist=modulesdao.getmodalls(RoleId);
	  
	  //父节点
		List<Modules> fflist=new ArrayList<Modules>();
		//部分子节点
		List<Modules> zzlist=new ArrayList<Modules>();
		
		  for(int i=0;i<mmlist.size();i++) {
			  if(mmlist.get(i).getParentId()==null ||mmlist.get(i).getParentId()==0) {
				  fflist.add(mmlist.get(i));
			  }else {
				  zzlist.add(mmlist.get(i));
			  }
			  }
		
		
	  //父节点
		List<Modules> flist=new ArrayList<Modules>();
		//全部子节点
		List<Modules> zlist=new ArrayList<Modules>();

	
			 
		
		for(int i=0;i<mlist.size();i++) {
			  if(mlist.get(i).getParentId()==null ||mlist.get(i).getParentId()==0) {
				  flist.add(mlist.get(i));
			  }else {
				  zlist.add(mlist.get(i));
			  }
			  }

		for(int i=0;i<zzlist.size();i++) {
			for(int j=0;j<zlist.size();j++) {
				if(zlist.get(j).getTitle().equals(zzlist.get(i).getTitle())) {
					zlist.get(j).setChecked(true);

				}	
			}	
		} 
	
		for(int i=0;i<flist.size();i++) {
			//同父的子
			List<Modules> clist=new ArrayList<Modules>();
			int a=flist.get(i).getId();
		
			for(int j=0;j<zlist.size();j++) {
				int b=zlist.get(j).getParentId();
				
				if(a==b) {
					clist.add(zlist.get(j));
					
				}
			}
			flist.get(i).setChildren(clist);
			}

			return flist;
	
	 
	  
	  }
}
